package applicationModels;

import java.util.ArrayList;
import java.util.List;

import modelo.Asignacion;
import modelo.Planificacion;

import org.joda.time.LocalDate;
import org.uqbar.commons.utils.Observable;

import database.Tienda;

@Observable
public class PlanificadorDelDia {
	
	
	private List<Asignacion> asignaciones;
	private Asignacion asignacionSeleccionada;
	private Planificacion planificacion;
	private LocalDate fecha;

	public PlanificadorDelDia(LocalDate fechaCrear) {
		this.planificacion = new Planificacion(fechaCrear);
		this.fecha = fechaCrear;
		this.asignaciones = new ArrayList<Asignacion>();
	}
	
	public PlanificadorDelDia(Planificacion planificacionSeleccionada) {
		this.planificacion = planificacionSeleccionada;
		this.fecha = planificacionSeleccionada.getFecha();
		this.asignaciones = planificacionSeleccionada.getAsignaciones();
	}
	
	public void eliminarAsignacion(){
		this.asignaciones.remove(asignacionSeleccionada);
		this.asignacionSeleccionada = null;
		this.refrescarAsignaciones();
	}
	
	public void refrescarAsignaciones(){
		this.setAsignaciones(this.getPlanificacion().getAsignaciones());
	}


	public void guardarPlanificacion() {
		Tienda.getInstance().agregarPlanificacion(this.getPlanificacion());
	}

	public List<Asignacion> getAsignaciones() {
		return asignaciones;
	}

	public void setAsignaciones(List<Asignacion> asignaciones) {
		this.asignaciones = null;
		this.asignaciones = asignaciones;
	}

	public Asignacion getAsignacionSeleccionada() {
		return asignacionSeleccionada;
	}

	public void setAsignacionSeleccionada(Asignacion asignacionSeleccionada) {
		this.asignacionSeleccionada = asignacionSeleccionada;
	}

	

	public Planificacion getPlanificacion() {
		return planificacion;
	}

	public void setPlanificacion(Planificacion planificacion) {
		this.planificacion = planificacion;
	}


	public LocalDate getFecha() {
		return fecha;
	}

	public void setFecha(LocalDate fecha) {
		this.fecha = fecha;
	}

}
